From a8f0b61298985d77918c8434168747249be82b4b Mon Sep 17 00:00:00 2001 From: "cl349@freefall.cl.cam.ac.uk" Date: Fri, 30 Jul 2004 13:55:07 +0000 Subject: [PATCH] bitkeeper revision 1.1108.42.1 (410a533ba5rMjZR_8GxQMCvpvadY1A) - only map 1st MB in privileged guests - allow ioremap for non-privileged domains --- linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c | 2 +- linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c | 3 --- linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h | 2 +- linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c b/linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c index 5cd365e9e7..26097966df 100644 --- a/linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c +++ b/linux-2.6.7-xen-sparse/arch/xen/i386/mm/init.c @@ -499,7 +499,7 @@ void __init paging_init(void) HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO); memset(empty_zero_page, 0, sizeof(empty_zero_page)); -#ifdef CONFIG_XEN_PHYSDEV_ACCESS +#ifdef CONFIG_XEN_PRIVILEGED_GUEST /* Setup mapping of lower 1st MB */ for (i = 0; i < NR_FIX_ISAMAPS; i++) set_fixmap_ma(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE); diff --git a/linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c b/linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c index 7ac9d527da..d254d6b4fc 100644 --- a/linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c +++ b/linux-2.6.7-xen-sparse/arch/xen/i386/mm/ioremap.c @@ -117,9 +117,6 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag struct vm_struct * area; unsigned long offset, last_addr; - if (!(start_info.flags & SIF_PRIVILEGED)) - return NULL; - /* Don't allow wraparound or zero size */ last_addr = phys_addr + size - 1; if (!size || last_addr < phys_addr) diff --git a/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h b/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h index 78e1fb8915..75bc078ec0 100644 --- a/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h +++ b/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/fixmap.h @@ -75,7 +75,7 @@ enum fixed_addresses { FIX_PCIE_MCFG, #endif FIX_SHARED_INFO, -#ifdef CONFIG_XEN_PHYSDEV_ACCESS +#ifdef CONFIG_XEN_PRIVILEGED_GUEST #define NR_FIX_ISAMAPS 256 FIX_ISAMAP_END, FIX_ISAMAP_BEGIN = FIX_ISAMAP_END + NR_FIX_ISAMAPS - 1, diff --git a/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h b/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h index 321d4788e1..6d4c9e0f2e 100644 --- a/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h +++ b/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/io.h @@ -123,7 +123,7 @@ extern void bt_iounmap(void *addr, unsigned long size); */ #define isa_virt_to_bus(_x) BUG() // should be (void *)((FIX_ISAMAP_BEGIN - __virt_to_fix((_x))) << PAGE_SHIFT) #define isa_page_to_bus(_x) BUG() // page_to_phys(_x) -#ifdef CONFIG_XEN_PHYSDEV_ACCESS +#ifdef CONFIG_XEN_PRIVILEGED_GUEST #define isa_bus_to_virt(_x) (void *)__fix_to_virt(FIX_ISAMAP_BEGIN - ((_x) >> PAGE_SHIFT)) #else #define isa_bus_to_virt(_x) (void *)0L /* XXXcl */ -- 2.30.2